/**
 * 在屏幕上用 * 话一个空心圆
 */

#include <stdio.h>
#include <math.h>

/*定义屏幕横纵比例，因为屏幕的行距大于列距，不进行调节显示出来为椭圆*/
#define RATIO 2.5

int main()
{
    double y;
    int x, m;
    // 设置圆的半径为10
    for (y = 10; y >= -10; y--)
    {
        m = RATIO * sqrt(100 - y * y); // 获取列坐标
        for (x = 1; x < 30 - m; x++)
            printf(" ");
        printf("*"); // 画圆的左侧

        for (; x < 30 + m; x++)
            printf(" ");
        printf("*\n"); // 画圆的右侧
    }
}